package com.example.model;

import java.util.Date;

/**
 * 
 *
 * @author 
 */
public class CouponTemplate {
    /**
     *
     */
    private Integer id;

    /**
     * 是否是可用状态 0-否 1-是
     *
     */
    private Boolean available;

    /**
     * 是否过期 0-否 1-是
     *
     */
    private Byte expired;

    /**
     * 优惠券名称
     *
     */
    private String name;

    /**
     * 优惠券 logo
     *
     */
    private String logo;

    /**
     * 优惠券描述
     *
     */
    private String description;

    /**
     * 优惠券分类
     *
     */
    private String category;

    /**
     * 产品线
     *
     */
    private Integer productLine;

    /**
     * 总数
     *
     */
    private Integer couponCount;

    /**
     * 创建时间
     *
     */
    private Date createTime;

    /**
     * 创建用户
     *
     */
    private Long userId;

    /**
     * 优惠券模板的编码
     *
     */
    private String templateKey;

    /**
     * 目标用户
     *
     */
    private Integer target;

    /**
     * 优惠券规则
     *
     */
    private String rule;

    /**
     * This method returns the value of the database column coupon_template.id
     *
     * @return the value of coupon_template.id
     */
    public Integer getId() {
        return id;
    }

    /**
     * This method sets the value of the database column coupon_template.id
     *
     * @param id the value for coupon_template.id
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * This method returns the value of the database column coupon_template.available
     *
     * @return the value of coupon_template.available
     */
    public Boolean getAvailable() {
        return available;
    }

    /**
     * This method sets the value of the database column coupon_template.available
     *
     * @param available the value for coupon_template.available
     */
    public void setAvailable(Boolean available) {
        this.available = available;
    }

    /**
     * This method returns the value of the database column coupon_template.expired
     *
     * @return the value of coupon_template.expired
     */
    public Byte getExpired() {
        return expired;
    }

    /**
     * This method sets the value of the database column coupon_template.expired
     *
     * @param expired the value for coupon_template.expired
     */
    public void setExpired(Byte expired) {
        this.expired = expired;
    }

    /**
     * This method returns the value of the database column coupon_template.name
     *
     * @return the value of coupon_template.name
     */
    public String getName() {
        return name;
    }

    /**
     * This method sets the value of the database column coupon_template.name
     *
     * @param name the value for coupon_template.name
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * This method returns the value of the database column coupon_template.logo
     *
     * @return the value of coupon_template.logo
     */
    public String getLogo() {
        return logo;
    }

    /**
     * This method sets the value of the database column coupon_template.logo
     *
     * @param logo the value for coupon_template.logo
     */
    public void setLogo(String logo) {
        this.logo = logo;
    }

    /**
     * This method returns the value of the database column coupon_template.description
     *
     * @return the value of coupon_template.description
     */
    public String getDescription() {
        return description;
    }

    /**
     * This method sets the value of the database column coupon_template.description
     *
     * @param description the value for coupon_template.description
     */
    public void setDescription(String description) {
        this.description = description;
    }

    /**
     * This method returns the value of the database column coupon_template.category
     *
     * @return the value of coupon_template.category
     */
    public String getCategory() {
        return category;
    }

    /**
     * This method sets the value of the database column coupon_template.category
     *
     * @param category the value for coupon_template.category
     */
    public void setCategory(String category) {
        this.category = category;
    }

    /**
     * This method returns the value of the database column coupon_template.product_line
     *
     * @return the value of coupon_template.product_line
     */
    public Integer getProductLine() {
        return productLine;
    }

    /**
     * This method sets the value of the database column coupon_template.product_line
     *
     * @param productLine the value for coupon_template.product_line
     */
    public void setProductLine(Integer productLine) {
        this.productLine = productLine;
    }

    /**
     * This method returns the value of the database column coupon_template.coupon_count
     *
     * @return the value of coupon_template.coupon_count
     */
    public Integer getCouponCount() {
        return couponCount;
    }

    /**
     * This method sets the value of the database column coupon_template.coupon_count
     *
     * @param couponCount the value for coupon_template.coupon_count
     */
    public void setCouponCount(Integer couponCount) {
        this.couponCount = couponCount;
    }

    /**
     * This method returns the value of the database column coupon_template.create_time
     *
     * @return the value of coupon_template.create_time
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * This method sets the value of the database column coupon_template.create_time
     *
     * @param createTime the value for coupon_template.create_time
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * This method returns the value of the database column coupon_template.user_id
     *
     * @return the value of coupon_template.user_id
     */
    public Long getUserId() {
        return userId;
    }

    /**
     * This method sets the value of the database column coupon_template.user_id
     *
     * @param userId the value for coupon_template.user_id
     */
    public void setUserId(Long userId) {
        this.userId = userId;
    }

    /**
     * This method returns the value of the database column coupon_template.template_key
     *
     * @return the value of coupon_template.template_key
     */
    public String getTemplateKey() {
        return templateKey;
    }

    /**
     * This method sets the value of the database column coupon_template.template_key
     *
     * @param templateKey the value for coupon_template.template_key
     */
    public void setTemplateKey(String templateKey) {
        this.templateKey = templateKey;
    }

    /**
     * This method returns the value of the database column coupon_template.target
     *
     * @return the value of coupon_template.target
     */
    public Integer getTarget() {
        return target;
    }

    /**
     * This method sets the value of the database column coupon_template.target
     *
     * @param target the value for coupon_template.target
     */
    public void setTarget(Integer target) {
        this.target = target;
    }

    /**
     * This method returns the value of the database column coupon_template.rule
     *
     * @return the value of coupon_template.rule
     */
    public String getRule() {
        return rule;
    }

    /**
     * This method sets the value of the database column coupon_template.rule
     *
     * @param rule the value for coupon_template.rule
     */
    public void setRule(String rule) {
        this.rule = rule;
    }

    /**
     */
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", available=").append(available);
        sb.append(", expired=").append(expired);
        sb.append(", name=").append(name);
        sb.append(", logo=").append(logo);
        sb.append(", description=").append(description);
        sb.append(", category=").append(category);
        sb.append(", productLine=").append(productLine);
        sb.append(", couponCount=").append(couponCount);
        sb.append(", createTime=").append(createTime);
        sb.append(", userId=").append(userId);
        sb.append(", templateKey=").append(templateKey);
        sb.append(", target=").append(target);
        sb.append(", rule=").append(rule);
        sb.append("]");
        return sb.toString();
    }
}